package cn.iocoder.yudao.module.crm.controller.admin.receipt.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - crm发票管理 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ReceiptRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32425")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "发票编号")
    @ExcelProperty("发票编号")
    private String code;

    @Schema(description = "客户id", example = "5703")
    @ExcelProperty("客户id")
    private Long customerId;

    @Schema(description = "客户名称", example = "芋艿")
    @ExcelProperty("客户名称")
    private String customerName;

    @Schema(description = "合同id", example = "842")
    @ExcelProperty("合同id")
    private Long contractId;

    @Schema(description = "合同名称")
    @ExcelProperty("合同名称")
    private String contractName;

    @Schema(description = "开票金额")
    @ExcelProperty("开票金额")
    private BigDecimal receiptAmount;

    @Schema(description = "开票日期")
    @ExcelProperty("开票日期")
    private LocalDateTime receiptDate;

    @Schema(description = "开票类型", example = "1")
    @ExcelProperty("开票类型")
    private String receiptType;

    @Schema(description = "发票抬头id", example = "15566")
    @ExcelProperty("发票抬头id")
    private Long titleId;

    @Schema(description = "开票状态", example = "1")
    @ExcelProperty("开票状态")
    private String status;

    @Schema(description = "开票内容", example = "1")
    @ExcelProperty("开票内容")
    private String content;

    @Schema(description = "工作流编号", example = "32315")
    @ExcelProperty("工作流编号")
    private String processInstanceId;

    @Schema(description = "审核状态", example = "2")
    @ExcelProperty("审核状态")
    private Integer auditStatus;

    @Schema(description = "备注", example = "你说的对")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "负责人的用户编号", example = "6895")
    @ExcelProperty("负责人的用户编号")
    private Long ownerUserId;

}